#!/bin/bash
# 远程主机免密钥登录配置脚本
# 需要安装sshpass工具
# 安装sshpass命令
# Ubuntu/Debian: sudo apt-get install sshpass
# CentOS/RHEL: sudo yum install sshpass
# 该脚本用于配置远程主机的免密钥登录，避免每次ssh连接时输入密码
# 注意：脚本中使用的密码和用户名需要根据实际情况修改
#目标主机列表
IP="
192.168.3.100
192.168.3.101
"
REMOTE_PORT="22"
REMOTE_USER="root"
REMOTE_PASS="123456"
for REMOTE_HOST in ${IP};do
  REMOTE_CMD="echo ${REMOTE_HOST} is successfully!"
  ssh-keyscan -p "${REMOTE_PORT}" "${REMOTE_HOST}" >> ~/.ssh/known_hosts   #在本地添加远程主机的公钥信息，避免交互式应答
  sshpass -p "${REMOTE_PASS}" ssh-copy-id "${REMOTE_USER}@${REMOTE_HOST}"
  if [ $? -eq 0 ];then
    echo ${REMOTE_HOST} 免秘钥配置完成!
  else
    echo "免密钥配置失败!"
  fi
done